//package io.github.talelin.latticy.common.configuration;
//
//import io.github.talelin.latticy.model.RulesDO;
//import io.github.talelin.latticy.service.RulesService;
//import lombok.extern.slf4j.Slf4j;
//import org.kie.api.KieServices;
//import org.kie.api.builder.KieBuilder;
//import org.kie.api.builder.KieFileSystem;
//import org.kie.api.builder.KieRepository;
//import org.kie.api.runtime.KieContainer;
//import org.springframework.context.annotation.Configuration;
//
//import java.util.List;
//
///**
// * @authoer:wulongbo
// * @createDate:2022/8/8
// * @description: 规则添加分类,不同的分类执行不同规则
// */
//@Configuration
//@Slf4j
//public class KieStrengthenConfig {
//
//    private KieServices kieServices;
//
//    public KieStrengthenConfig() {
//        kieServices = KieServices.Factory.get();
//    }
//
//    protected KieFileSystem kieFileSystem(List<String> drools) {
//        KieFileSystem kieFileSystem = kieServices.newKieFileSystem();
//        for (int i = 0; i < drools.size(); i++) {
//            //该目录文件为虚拟目录,不需要实际存在,**后缀一定要带.drl**
//            String path = "src/main/resources/rules/" + i + ".drl";
//            kieFileSystem.write(path, drools.get(i).getBytes());
//        }
//        return kieFileSystem;
//    }
//
//    protected KieContainer kieContainer(List<String> drools) {
//        final KieRepository kieRepository = kieServices.getRepository();
//        kieRepository.addKieModule(() -> kieRepository.getDefaultReleaseId());
//        KieBuilder kieBuilder = kieServices.newKieBuilder(kieFileSystem(drools));
//        kieBuilder.buildAll();
//        return kieServices.newKieContainer(kieRepository.getDefaultReleaseId());
//    }
//
//    public MyKieContext myKieContext(List<String> drools) {
//        KieContainer kieContainer = kieContainer(drools);
//        return new MyKieContext(kieContainer);
//    }
//
//}
